import Vue from 'vue';
import axios from "axios";
import App from './App.vue'
import './registerServiceWorker'
import plugins from './plugins'
import router from './router'
import store from './store'
// 引入国际化混入
import i18nMixin from './mixins/i18n.js'

Vue.config.productionTip = false;
Vue.prototype.$axios = axios;
// 自动获取服务器IP地址（用于局域网访问）
// 如果前端和后端在同一台机器，使用当前页面的hostname
// 否则需要手动设置服务器IP地址
function getServerHost() {
	// 尝试从环境变量获取
	if (process.env.VUE_APP_API_BASE_URL) {
		return process.env.VUE_APP_API_BASE_URL;
	}
	
	// 从当前页面URL获取（如果前端和后端在同一台机器）
	const hostname = window.location.hostname;
	if (hostname !== 'localhost' && hostname !== '127.0.0.1') {
		return `http://${hostname}:5000/`;
	}
	
	// 默认使用本地地址
	return "http://127.0.0.1:5000/";
}

Vue.use(plugins, {
	host: getServerHost(),
});

import JsonExcel from 'vue-json-excel'
Vue.component('downloadExcel', JsonExcel)

// 全局混入翻译功能
Vue.mixin(i18nMixin);

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
